{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "V96fc28ZXJbn"
   },
   "source": [
    "<p align=\"center\">\n",
    "    <img src=\"https://github.com/GeostatsGuy/GeostatsPy/blob/master/TCG_color_logo.png?raw=true\" width=\"220\" height=\"240\" />\n",
    "\n",
    "</p>\n",
    "\n",
    "## Simple Convolutional Neural Network (CNN) Scale Demonstration\n",
    "\n",
    "#### Michael Pyrcz, Associate Professor, University of Texas at Austin \n",
    "\n",
    "\n",
    "##### [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1) | [GeostatsPy](https://github.com/GeostatsGuy/GeostatsPy)\n",
    "\n",
    "#### Honggeun Jo, Graduate Candidate, The University of Texas at Austin\n",
    "\n",
    "##### [LinkedIn](https://www.linkedin.com/in/honggeun-jo/?originalSubdomain=kr) | [GitHub](https://github.com/whghdrms) | [Twitter](https://twitter.com/HonggeunJ)\n",
    "\n",
    "\n",
    "### Workflow for training CNN to classify images\n",
    "\n",
    "This workflow demonstrates design and training of a CNN model to classify for a variety of synthetic labeled images.\n",
    "\n",
    "* a very simple, fast run time, well-documented toy problem to support experiential learning \n",
    "\n",
    "* I demonstrate the impact of scale of the image features, the ability to work with multiple scales  \n",
    "\n",
    "___\n",
    "\n",
    "**Can we train a simple CNN to detect the extent of a randomly located artifact in a set of uniform images**?\n",
    "___\n",
    "\n",
    "We design a simple network with convolution over multiple filters (variable size) to demonstrate this.\n",
    "\n",
    "### Convolutional Neural Networks\n",
    "\n",
    "Extension of the artifical neural network, based on the visual cortex:\n",
    "\n",
    "* extraction of features from overlapping receptive fields, over a hierarchy (not shown) and then recompose the whole image, our perception.\n",
    "\n",
    "* We don’t perceive all the ‘pixels’, our visual cortex interprets and summarizes patterns. Let’s make a machine to do this.\n",
    "\n",
    "**Regularization**: a constraint to reduce the sensitivity of the model to the data, to reduce model variance\n",
    "\n",
    "Receptive Fields\n",
    "\n",
    "* the use of receptive fields is a form of regularization\n",
    "\n",
    "* massive reduction in connections, weights and model parameters\n",
    "\n",
    "* effectively shrinking these potential weights to zero\n",
    "\n",
    "* while integrating / focusing on pixel patterns!\n",
    "\n",
    "We have access to operators to move from layer to layer (feature maps to feature maps) in our convolutional neural networks.  The common operators include:\n",
    "\n",
    "* **Convolution** – a weighting window / filter designed to extract features\n",
    "\n",
    "* **Pooling** – reduction in dimensionality, increase local translation invariance \n",
    "\n",
    "* **Depth-wise Pooling, Down Sampling** – 1x1 filter that combine channels, feature maps\n",
    "\n",
    "* **Activation** – use of an activation function to apply a nonlinear transformation to impart nonlinearity to the system\n",
    "\n",
    "* **Full-connected, feed forward** – see previous lecture \n",
    "\n",
    "For a demonstration of all of these operators, check out this [Python Jupyter Notebook](https://github.com/GeostatsGuy/PythonNumericalDemos/blob/master/SubsurfaceDataAnalytics_Convolution_Operators.ipynb)\n",
    "\n",
    "#### Objective \n",
    "\n",
    "Michael teaches data analytics, geostatistics and machine learning. To demonstrate the basic construction of a convolutional neural networks, training and prediction.  \n",
    "\n",
    "* Michael uses these examples in my lecture notes, see the lecture posted on my YouTube channel.\n",
    "\n",
    "* for any to gain experiential learning with the nuts and bolts of convolutional neural networks\n",
    "\n",
    "Note, we only demonstrate the basics of construction, training and prediction. There is much more about the design and training that we do not cover.\n",
    "\n",
    "#### Getting Started\n",
    "\n",
    "Here's the steps to get setup in Python with the GeostatsPy package:\n",
    "\n",
    "1. Install Anaconda 3 on your machine (https://www.anaconda.com/download/). \n",
    "2. From Anaconda Navigator (within Anaconda3 group), go to the environment tab, click on base (root) green arrow and open a terminal. \n",
    "3. In the terminal type: pip install geostatspy. \n",
    "4. Open Jupyter and in the top block get started by copy and pasting the code block below from this Jupyter Notebook to start using the geostatspy functionality. \n",
    "\n",
    "There are exampled below with these functions. You can go here to see a list of the available functions, https://git.io/fh4eX, other example workflows and source code. \n",
    "\n",
    "#### Load the required libraries\n",
    "\n",
    "The following code loads the required libraries.\n",
    "\n",
    "We will need some standard packages. These should have been installed with Anaconda 3.\n",
    "* [numpy](https://numpy.org/): To generate arrays <br>\n",
    "* [matplotlib](https://matplotlib.org/): Vilsualization purpose <br>\n",
    "* sklearn: for model metrics, confusion matrices, one hot encoder\n",
    "\n",
    "We also will need tensor flow, this will require an install as it is not available in Anaconda\n",
    "* [tensorflow > 2.0.0](https://www.tensorflow.org/learn): Design, compile and train neural network models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "executionInfo": {
     "elapsed": 189,
     "status": "ok",
     "timestamp": 1621129211466,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "ag7inwQ-XJbv"
   },
   "outputs": [],
   "source": [
    "import numpy as np                                      # ndarrays for gridded data, our images\n",
    "import matplotlib.pyplot as plt                         # plotting \n",
    "from matplotlib.ticker import (MultipleLocator, AutoMinorLocator) # control of axes ticks\n",
    "import pandas as pd\n",
    "from sklearn.metrics import f1_score, accuracy_score, recall_score, confusion_matrix # model metrics\n",
    "from scipy.ndimage import gaussian_filter               # Gaussian filter for smoothing our images\n",
    "from sklearn.preprocessing import OneHotEncoder         # one hot encoder for our response feature\n",
    "import random                                           # pseudo-random values\n",
    "\n",
    "import tensorflow as tf                                 # import tensor flow\n",
    "from tensorflow import keras\n",
    "from tensorflow.keras import layers\n",
    "from tensorflow.keras.models import Model\n",
    "\n",
    "assert tf.__version__.startswith('2.')                  # this will give you error if tensorflow < 2.0\n",
    "tf.keras.backend.set_floatx('float32')                  # default float to be 'float32' (Tensorflow only works with float8, 16, 32)\n",
    "\n",
    "physical_devices = tf.config.list_physical_devices('GPU') # constrain memory use to avoid a CUDNN_STATUS_ALLOC_FAILED error\n",
    "tf.config.experimental.set_memory_growth(physical_devices[0], True)\n",
    "\n",
    "seed = 73073                                            # set the random number seed for repeatability\n",
    "np.random.seed(seed)                                    \n",
    "\n",
    "cmap = plt.cm.inferno                                   # color map for plots\n",
    "\n",
    "tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR) # there are a lot of retrace warnings we can ignore\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "gegnx7Ak1FoV"
   },
   "source": [
    "#### Check Your Hardware\n",
    "\n",
    "Let's confirm that we have access to a properly configured GPU.\n",
    "\n",
    "* you should see a 'physcial_device:GPU' device listed below"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "id": "w7PB4F9b1FoW",
    "outputId": "1cb97ff5-0aba-484a-f0e3-5ff129333c1e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.config.list_physical_devices('GPU')                  # check for a properly configured GPU"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "No worries if you don't have a configured GPU as this workflow was tested in a CPU only environment and it ran.\n",
    "\n",
    "* likely a longer run time"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "KNzH3gY41FoX"
   },
   "source": [
    "#### Define Functions\n",
    "\n",
    "Let's define a couple of convenience functions for workflow brevity and read-ability\n",
    "\n",
    "* train and test accuracy over epochs performance plots\n",
    "* train and test prediction acurracy, confusion matrix plots\n",
    "* visualize the trained CNN filters\n",
    "* visualize the feature maps for a specific image classification case\n",
    "* visualize the last layer, the probability output from the softmax activation function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "executionInfo": {
     "elapsed": 583,
     "status": "ok",
     "timestamp": 1621130828337,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "di4QxA0b1FoX"
   },
   "outputs": [],
   "source": [
    "def model_performance(history,nepoch):                  # visualize error and loss, training and testing over Epochs     \n",
    "    plt.subplot(1,2,1)\n",
    "    plt.plot(history.history['loss'],c='red')\n",
    "    plt.plot(history.history['val_loss'],c='black')\n",
    "    plt.title('CNN Model Loss')\n",
    "    plt.ylabel('Testing Categorical Entropy'); plt.xlabel('Epoch'); plt.grid()\n",
    "    plt.legend(['train', 'test'], loc='upper right'); plt.xlim([0,nepoch]); plt.ylim([0,1])\n",
    "    \n",
    "    plt.subplot(1,2,2)\n",
    "    plt.plot(history.history['sparse_categorical_accuracy'],c='red')\n",
    "    plt.plot(history.history['val_sparse_categorical_accuracy'],c='black')\n",
    "    plt.title('CNN Model Accuracy')\n",
    "    plt.ylabel('Testing Proportion Correct Classification'); plt.xlabel('Epoch'); plt.grid()\n",
    "    plt.legend(['train', 'test'], loc='upper right'); plt.xlim([0,nepoch]); plt.ylim([0,1])\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.1, wspace=0.3, hspace=0.3)\n",
    "    plt.show()\n",
    "    \n",
    "def model_cross_validation(model,X_train,X_test,y_train,y_test): # visualize misclassification error for training and testing data \n",
    "    y_train_predict = model.predict(X_train[:,:,:,0].reshape([ntrain,nx,ny,-1])) # predict over the training images\n",
    "    y_train_predict = np.argmax(y_train_predict,axis = 1) # assign the maximum probability category\n",
    "    \n",
    "    y_test_predict = model.predict(X_test[:,:,:,0].reshape([ntest,nx,ny,-1])) # predict over the testing images \n",
    "    y_test_predict = np.argmax(y_test_predict,axis = 1) # assign the maximum probability category\n",
    "    \n",
    "    plt.subplot(121)                                                \n",
    "    train_confusion_matrix = confusion_matrix(y_train,y_train_predict) # calculate and plot train confusion matrix\n",
    "    train_confusion_matrix = train_confusion_matrix/np.sum(train_confusion_matrix) \n",
    "    im = plt.imshow(train_confusion_matrix,cmap=cmap,vmin=0.0,vmax=1.0); plt.xlabel('Prediction'); plt.ylabel('Truth'); plt.title('Training Confusion Matrix')\n",
    "    ax = plt.gca(); ax.set_xticks([0,1,2,3]); ax.set_xticklabels(name)\n",
    "    ax.set_yticks([0,1,2,3]); ax.set_yticklabels(name)\n",
    "    cbar = plt.colorbar(im, orientation=\"vertical\", ticks=np.linspace(0, 1.0, 5))\n",
    "    cbar.set_label('Proportion', rotation=270, labelpad=20)\n",
    "    \n",
    "    plt.subplot(122)\n",
    "    test_confusion_matrix = confusion_matrix(y_test,y_test_predict) # calculate and plot train confusion matrix\n",
    "    test_confusion_matrix = test_confusion_matrix/np.sum(test_confusion_matrix) \n",
    "    im = plt.imshow(test_confusion_matrix,cmap=cmap,vmin = 0,vmax = 1.0)\n",
    "    plt.xlabel('Prediction'); plt.ylabel('Truth'); plt.title('Testing Confusion Matrix')\n",
    "    ax = plt.gca(); ax.set_xticks([0,1,2,3]); ax.set_xticklabels(name)\n",
    "    ax.set_yticks([0,1,2,3]); ax.set_yticklabels(name)\n",
    "    cbar = plt.colorbar(im, orientation=\"vertical\", ticks=np.linspace(0, 1.0, 5))\n",
    "    cbar.set_label('Proportion', rotation=270, labelpad=20)\n",
    "    \n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.1, wspace=0.3, hspace=0.3)\n",
    "    plt.show()\n",
    "    \n",
    "    print(f'            Train   Test')                  # print a table with train and test accuracy\n",
    "    print(f'precision: {accuracy_score(y_train.flatten(), y_train_predict):.4f}, {accuracy_score(y_test.flatten(), y_test_predict):.4f}')\n",
    "    print(f'recall:    {recall_score(y_train.flatten(), y_train_predict, average = \"weighted\"):.4f}, {recall_score(y_test.flatten(), y_test_predict, average = \"weighted\"):.4f}')\n",
    "    print(f'f1 score:  {f1_score(y_train.flatten(), y_train_predict, average = \"weighted\"):.4f}, {f1_score(y_test.flatten(), y_test_predict, average = \"weighted\"):.4f}')\n",
    "\n",
    "def visualize_filters(model):                           # visualize CNN filters\n",
    "    for layer in model.layers:\n",
    "        if 'conv' not in layer.name:                    # check if layers is a convolution\n",
    "            continue\n",
    "        filters, biases = layer.get_weights()\n",
    "        fmin, fmax = filters.min(), filters.max()       # normalize the filter weights for visualization\n",
    "        filters = (filters - fmin) / (fmax - fmin)\n",
    "        print('Convolution Layer Name: ' + layer.name + ', Shape: ' + str(filters.shape[0]) + ' x ' + str(filters.shape[1]) + ', Number of Channels: ' + str(filters.shape[3]) + '.')\n",
    "        nch = filters.shape[3]\n",
    "        for ich in range(0,nch):\n",
    "            plt.subplot(1,nch,ich+1)\n",
    "            im = plt.imshow(filters[:,:,0,ich],cmap=cmap,vmin=0.0,vmax=1.0)\n",
    "            ax = plt.gca(); ax.set_xticks([0,1,2]); ax.set_xticklabels([-1,0,1])\n",
    "            ax.set_yticks([0,1,2]); ax.set_yticklabels([-1,0,1])\n",
    "            cbar = plt.colorbar(im, orientation=\"vertical\", ticks=np.linspace(0.0, 1.0, 5))\n",
    "            cbar.set_label('Weights', rotation=270, labelpad=20)\n",
    "            plt.title('Filter ' + str(ich+1))\n",
    "        plt.subplots_adjust(left=0.0, bottom=0.0, right=0.5*nch, top=0.5, wspace=0.4, hspace=0.3)\n",
    "        plt.show()\n",
    "\n",
    "def visualize_convolution_feature_maps(model,image):    # visualize CNN feature maps for a prediction case\n",
    "    ilayer = -1\n",
    "    for layer in model.layers:\n",
    "        ilayer = ilayer + 1\n",
    "        # check for convolutional layer\n",
    "        if 'conv' not in layer.name:\n",
    "            continue\n",
    "        model_trunc = Model(inputs=model.inputs, outputs=model.layers[ilayer].output) # truncate model to output feature maps\n",
    "        feature_maps = model_trunc.predict(X[image,:,:,0].reshape([1,nx,ny,-1]))        \n",
    "        print('Convolution Layer Name: ' + layer.name + ', Shape: ' + str(feature_maps.shape[1]) + ' x ' + str(feature_maps.shape[2]) + ', Number of Channels: ' + str(feature_maps.shape[3]) + '.')\n",
    "    \n",
    "        nch = feature_maps.shape[3]\n",
    "        plt.subplot(1,nch+1,1)\n",
    "        im = fig = plt.imshow(X[image,:,:,0], cmap=cmap)\n",
    "        fig.axes.get_xaxis().set_visible(False); fig.axes.get_yaxis().set_visible(False)\n",
    "        plt.title('Image ' + str(image) + ': ' + name[y[image]])\n",
    "    \n",
    "        for ich in range(0,nch):\n",
    "            plt.subplot(1,nch+1,ich+2)\n",
    "            im = plt.imshow(feature_maps[0, :, :, ich], vmin = -1,vmax = 1.0,cmap=cmap)\n",
    "            ax = plt.gca(); ax.set_xticks([]); ax.set_yticks([])\n",
    "            plt.title('Convolution Feature Map ' + str(ich+1))\n",
    "            cbar = plt.colorbar(im, orientation=\"vertical\", ticks=np.linspace(-1.0, 1.0, 5))\n",
    "            cbar.set_label('Feature Map Values', rotation=270, labelpad=20)\n",
    "        \n",
    "        plt.subplots_adjust(left=0.0, bottom=0.0, right=0.5*nch, top=0.35, wspace=0.4, hspace=0.3)\n",
    "        plt.show()\n",
    "        \n",
    "def visualize_max_pooling_feature_maps(model,image):    # visualize CNN feature maps for a prediction case\n",
    "    ilayer = -1\n",
    "    for layer in model.layers:\n",
    "        ilayer = ilayer + 1\n",
    "        # check for convolutional layer\n",
    "        if 'max_pooling' not in layer.name:\n",
    "            continue\n",
    "        model_trunc = Model(inputs=model.inputs, outputs=model.layers[ilayer].output) # truncate model to output feature maps\n",
    "        feature_maps = model_trunc.predict(X[image,:,:,0].reshape([1,nx,ny,-1]))        \n",
    "        print('Max Pooling Layer Name: ' + layer.name + ', Shape: ' + str(feature_maps.shape[1]) + ' x ' + str(feature_maps.shape[2]) + ', Number of Channels: ' + str(feature_maps.shape[3]) + '.')\n",
    "    \n",
    "        nch = feature_maps.shape[3]\n",
    "        plt.subplot(1,nch+1,1)\n",
    "        fig = plt.imshow(X[image,:,:,0], cmap=cmap)\n",
    "        fig.axes.get_xaxis().set_visible(False); fig.axes.get_yaxis().set_visible(False)\n",
    "        plt.title('Image ' + str(image) + ': ' + name[y[image]])\n",
    "    \n",
    "        for ich in range(0,nch):\n",
    "            plt.subplot(1,nch+1,ich+2)\n",
    "            im = plt.imshow(feature_maps[0, :, :, ich], cmap=cmap)\n",
    "            ax = plt.gca(); ax.set_xticks([]); ax.set_yticks([])\n",
    "            plt.title('Max Pooling Feature Map ' + str(ich+1))\n",
    "        \n",
    "        plt.subplots_adjust(left=0.0, bottom=0.0, right=0.5*nch, top=0.5, wspace=0.4, hspace=0.3)\n",
    "        plt.show()\n",
    "\n",
    "def visualize_last_layers(model, image):                # visualize last layer, category probabilities\n",
    "    ilayer = -1; llayer = -1\n",
    "    for layer in model.layers:                          # get the last dense layer\n",
    "        ilayer = ilayer + 1\n",
    "        # check for convolutional layer\n",
    "        if 'dense' not in layer.name:\n",
    "            continue\n",
    "        else:\n",
    "            llayer = ilayer\n",
    "    if llayer == -1:\n",
    "        print('No dense layer found'); return -1\n",
    "    model_trunc = Model(inputs=model.inputs, outputs=model.layers[ilayer].output) # truncate model to output feature maps\n",
    "    output_layer = model_trunc.predict(X[image,:,:,0].reshape([1,ny,nx,-1]))        \n",
    "\n",
    "    plt.subplot(1,2,1)\n",
    "    fig = plt.imshow(X[image,:,:,0], cmap=cmap)\n",
    "    fig.axes.get_xaxis().set_visible(False); fig.axes.get_yaxis().set_visible(False)\n",
    "    plt.title('Image ' + str(image) + ': ' + name[y[image]])\n",
    "\n",
    "    plt.subplot(1,2,2)\n",
    "    plt.title('Predicted Category Probabilities')\n",
    "    plt.bar(x = ['1', '2','3','4'], height = output_layer.flatten()*100,color='red',edgecolor='black',alpha=0.2)\n",
    "    plt.xlabel('Image Categories'); plt.ylabel('Probability (\\%)')\n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.1, wspace=0.4, hspace=0.3)\n",
    "    plt.show()              \n",
    "        \n",
    "def visualize_testing_predictions(model):               # visualize testing images and predicted probabilities \n",
    "    y_test_predict = model.predict(X_test[:,:,:,0].reshape([ntest,nx,ny,-1])) # predict over the testing images \n",
    "    y_test_predict_cat = np.argmax(y_test_predict,axis = 1) # assign the maximum probability category\n",
    "    \n",
    "    c, r = 4, 5                                         \n",
    "    plt.figure(figsize = (10,10))\n",
    "    for i in range(c*r):\n",
    "        plt.subplot(r,c,i+1)\n",
    "        fig = plt.imshow(X_test[i,:,:,0],cmap=cmap)\n",
    "        fig.axes.get_xaxis().set_visible(False); fig.axes.get_yaxis().set_visible(False)\n",
    "        icat = y_test_predict_cat[i]\n",
    "        plt.title('Image ' + str(i) + ': ' + name[y_test[i,0]] + ', ' + str(np.round(y_test_predict[i,icat]*100,2)) + \"% \" + name[icat] )\n",
    "\n",
    "            \n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=1.3, top=1.6, wspace=0.01, hspace=0.3)\n",
    "    plt.show()\n",
    "    \n",
    "def prediction_boxplot(model):                             # visualize the box plots for predicted probabilities by true category\n",
    "    y_train_predict = model.predict(X_train[:,:,:,0].reshape([ntrain,ny,nx,-1])) # predict over the testing images \n",
    "    y_test_predict = model.predict(X_test[:,:,:,0].reshape([ntest,ny,nx,-1])) # predict over the testing images \n",
    "    c = 'red'\n",
    "    \n",
    "    plt.subplot(121)\n",
    "    box_train = plt.boxplot([y_train_predict[:,0][y_train[:,0] == 0],y_train_predict[:,1][y_train[:,0] == 1],y_train_predict[:,2][y_train[:,0] == 2],y_train_predict[:,3][y_train[:,0] == 3]],labels=['1','2','3','4'])\n",
    "    for i in range(1,4): plt.plot([i+.5,i+.5],[0,1],color='k',alpha=0.3,linestyle='--',linewidth=1)\n",
    "    plt.gca().yaxis.grid(True, which='major',linewidth = 1.0); plt.gca().yaxis.grid(True, which='minor',linewidth = 0.2) # add y grids\n",
    "    plt.gca().tick_params(which='major',length=7); plt.gca().tick_params(which='minor', length=4)\n",
    "    plt.gca().yaxis.set_minor_locator(AutoMinorLocator())   \n",
    "    plt.ylim([0,1]); plt.ylabel('Prediction Probability of Correct Category'); plt.xlabel('Correct Image Label')\n",
    "    plt.title('Training Image Correct Category Probabilities')\n",
    "    \n",
    "    plt.subplot(122)\n",
    "    box_train = plt.boxplot([y_test_predict[:,0][y_test[:,0] == 0],y_test_predict[:,1][y_test[:,0] == 1],y_test_predict[:,2][y_test[:,0] == 2],y_test_predict[:,3][y_test[:,0] == 3]],labels=['1','2','3','4'])\n",
    "    for i in range(1,4): plt.plot([i+.5,i+.5],[0,1],color='k',alpha=0.3,linestyle='--',linewidth=1)\n",
    "    plt.gca().yaxis.grid(True, which='major',linewidth = 1.0); plt.gca().yaxis.grid(True, which='minor',linewidth = 0.2) # add y grids\n",
    "    plt.gca().tick_params(which='major',length=7); plt.gca().tick_params(which='minor', length=4)\n",
    "    plt.gca().yaxis.set_minor_locator(AutoMinorLocator())   \n",
    "    plt.ylim([0,1]); plt.ylabel('Prediction Probability of Correct Category'); plt.xlabel('Correct Image Label')\n",
    "    plt.title('Testing Image Correct Category Probabilities')\n",
    "    \n",
    "    plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.0, wspace=0.3, hspace=0.3)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Ew5y-AjOXJbx"
   },
   "source": [
    "### Convolutional Neural Network Example\n",
    "\n",
    "Let's try a more complicated problem that will require our model to be location invariant and multiscale. \n",
    "\n",
    "* we will predict the length in pixels of a randomly located line in a constant image\n",
    "\n",
    "#### Make a Random Simple Dataset\n",
    "\n",
    "We make 100 simple images, 80 train and 20 test 12x12 binary, 0 and 1 images.\n",
    "\n",
    "* we do this for a very rapid, fast toy problem\n",
    "\n",
    "We make the random training and testing images and visualize some of the testing models with their labels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 410
    },
    "executionInfo": {
     "elapsed": 1501,
     "status": "ok",
     "timestamp": 1621130830095,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "VvCi3CUUXJbx",
    "outputId": "5478c209-9afa-41a0-cd7b-c2c9ecbfe0db"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 28 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "imin = 1; imax = 4                                      # parameters for the strength of the artifact, local multipliers\n",
    "np.random.seed(seed)                                    # make synthetic images \n",
    "random.seed(seed)\n",
    "nmodel = 100; px = 0.5; ptest = 0.2; nx = 12; ny = 12\n",
    "ntest = int(nmodel*ptest); ntrain = nmodel - ntest\n",
    "X = np.zeros([nmodel,nx,ny,1], dtype = float)\n",
    "y = np.zeros(nmodel,dtype = int); name = np.array(['one','two','three','four'])\n",
    "X_train = np.zeros([ntrain,nx,ny,1]); y_train = np.zeros(ntrain,dtype = int)\n",
    "X_test = np.zeros([ntest,nx,ny,1]); y_test = np.zeros(ntest,dtype = int)\n",
    "\n",
    "for i in range(0,nmodel):\n",
    "    ilength = np.random.randint(imin, imax+1)\n",
    "    ix = random.randint(1, nx-1-ilength-1); iy = random.randint(1, ny-2)\n",
    "    X[i,ix:ix+ilength,iy,0] = 1.0\n",
    "    y[i] = ilength-1\n",
    "\n",
    "X_train = X[:ntrain,:,:,:]; X_test = X[ntrain:,:,:,:]\n",
    "y_train = y[:ntrain]; y_test = y[ntrain:]\n",
    " \n",
    "y_train = y_train.reshape(ntrain,-1)  \n",
    "y_test = y_test.reshape(ntest,-1)         \n",
    "            \n",
    "c, r = 7, 4                                             # visualize labelled synthetic images\n",
    "plt.figure(figsize = (10,10))\n",
    "for i in range(c*r):\n",
    "    plt.subplot(r,c,i+1)\n",
    "    fig = plt.imshow(X[i,:,:,0],cmap=cmap)\n",
    "    fig.axes.get_xaxis().set_visible(False); fig.axes.get_yaxis().set_visible(False)\n",
    "    plt.title('Image ' + str(i) + ': ' + name[y[i]])\n",
    "\n",
    "plt.subplots_adjust(left=0.0, bottom=0.0, right=2.0, top=1.0, wspace=0.01, hspace=0.3)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "flSy63AZXJb1"
   },
   "source": [
    "#### Data Preprocessing\n",
    "\n",
    "First, we should preprocess our data. \n",
    "\n",
    "* our images have a range of [0,1] so we don't need min-max normalization \n",
    "\n",
    "* also as catetories (e.g., y_train and y_test) are non-ordinal categorical variables, we will apply one-hot-encode to make the variable more compatible with a neural network model. \n",
    "\n",
    "* should we have ordinal categories (e.g.,'first','second', and 'third'), we can just use categorical number (i.e., integer encode). Following figure presents how one-hot-encode works in our example:  \n",
    "\n",
    "| Response Feature Label  | Response Feature Value | 1 | 2 | 3 | 4 |\n",
    "| :---------------------: | :---------------------: | :----: | :----: | :---: | :---: |\n",
    "| One                     | 0                       | 1      | 0      | 0     | 0     |\n",
    "| Four                    | 3                       | 0      | 0      | 0     | 1     |\n",
    "| Three                   | 2                       | 0      | 0      | 1     | 0     |\n",
    "\n",
    "To learn more about integer encoding and one-hot-encoding, please refer this lecture on [feature transformations](https://www.youtube.com/playlist?list=PLG19vXLQHvSC2ZKFIkgVpI9fCjkN38kwf)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "executionInfo": {
     "elapsed": 886,
     "status": "ok",
     "timestamp": 1621130830096,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "ZZWwR58UXJb2"
   },
   "outputs": [],
   "source": [
    "enc = OneHotEncoder(categories = [[0,1,2,3]])               # 0 -> [1,0,0,0] (One) and 1 -> [0,1,0,0] (Two) etc.\n",
    "enc.fit(y_train)\n",
    "y_train_one_hot, y_test_one_hot = enc.transform(y_train), enc.transform(y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "vjGhQSKaXJb3"
   },
   "source": [
    "#### Step 1. Define Classification Convolutional Neural Network \n",
    "\n",
    "Now we will define our convolutional neural network\n",
    "\n",
    "* with keras frontend for tensor flow it is not too dificult to design our network\n",
    "\n",
    "* the overall architure looks like this:\n",
    "\n",
    "![image.png](attachment:image.png)\n",
    "\n",
    "Image taken from [blog post](https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53)) by Sumit Saha.\n",
    "\n",
    "We cycle multiple layers of:\n",
    "\n",
    "* convolution and activation with ReLU\n",
    "\n",
    "* max pooling\n",
    "\n",
    "After multiple cycles we have learning the features in the images we then finish with:\n",
    "\n",
    "* flattening the feature into a 1D vector\n",
    "\n",
    "* feed-forward, fully-connected artificial neural network with 2 output nodes for the probability of each category\n",
    "\n",
    "As specified below the model includes:\n",
    "\n",
    "* cycles of convolution with 3x3 kernels, stride = 1 or 2 for feature maps extent reduction (one half)\n",
    "\n",
    "* feature maps transition from 12x12x1 [nx,ny,nchannel] over multiple steps to reduce featured map extent while increasing the depth and then flattens to a vector fully connected with 2 output nodes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "executionInfo": {
     "elapsed": 400,
     "status": "ok",
     "timestamp": 1621130830097,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "bYGzEarE1Foc"
   },
   "outputs": [],
   "source": [
    "def CNN_model():                                        # CNN design function\n",
    "    model = tf.keras.Sequential()                       # define neural network model sequentially\n",
    "    # Convolution Feature Map 1: (12x12x1) --> (12x12x6)\n",
    "    model.add(layers.Conv2D(6, kernel_size=(5,5),strides=1,padding='same',input_shape=[ny,nx,1])) # -2 feature map extent given filter and no padding\n",
    "    model.add(layers.ReLU())\n",
    "    # Max Pooling Feature Map 1: (12x12x6) --> (6x6x6)    \n",
    "    model.add(layers.MaxPooling2D((2, 2)))              # 1/2 extent\n",
    "    # Convolution Feature Map 2: (6x6x6) --> (6x6x12)\n",
    "    model.add(layers.Conv2D(12, kernel_size=(5,5),strides=1,padding='same',input_shape=[ny,nx,1])) # -2 feature map extent given filter and no padding\n",
    "    model.add(layers.ReLU())\n",
    "    # Max Pooling Feature Map 2: (6x6x12) --> (3x3x12)    \n",
    "    model.add(layers.MaxPooling2D((2, 2)))              # 1/2 extent\n",
    "    # Convolution Feature Map 3: (3x3x6) --> (3x3x24)\n",
    "    model.add(layers.Conv2D(24, kernel_size=(3,3),strides=1,padding='same',input_shape=[ny,nx,1])) # -2 feature map extent given filter and no padding\n",
    "    model.add(layers.ReLU())\n",
    "    # Max Pooling Feature Map 3: (3x3x24) --> (1x1x12)    \n",
    "    model.add(layers.MaxPooling2D((3, 3)))              # 1/2 extent\n",
    "    model.add(layers.Flatten())\n",
    "    #model.add(layers.Dense(96, activation='relu'))    \n",
    "    # Output layer: (96) --> 4 (i.e., each node corresponds to the probability to be each class)\n",
    "    model.add(layers.Dense(4, activation = 'softmax'))  # softmax activation function for classfier probabilities\n",
    "    # Compile the Neural Network - define Loss and optimizer to tune the associated weights\n",
    "    model.compile(loss='SparseCategoricalCrossentropy', metrics=['SparseCategoricalAccuracy'], optimizer='adam')\n",
    "    return model\n",
    "\n",
    "# EXAMPLES\n",
    "# model.add(layers.Conv2D(3, kernel_size=(3,3), strides=1, input_shape=[nx,ny,1], padding=\"same\")) #feature map padding\n",
    "# model.add(layers.Conv2D(3, kernel_size=(3,3), strides=2, input_shape=[nx,ny,1], padding=\"same\")) #feature map padding and extent reduction 1/2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "y7meszWgXJb4"
   },
   "source": [
    "#### Instantiate, Train the Convolutional Neural Network and Visualize the Model Performance in Training and Testing\n",
    "\n",
    "This includes the following steps:\n",
    "\n",
    "1. instantiate the CNN specified above \n",
    "\n",
    "2. train it with the 80 images in the training set\n",
    "\n",
    "3. visualize the training and testing accuracy over the Epochs of training\n",
    "\n",
    "4. write out the summary of the convolutional neural network"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 831
    },
    "executionInfo": {
     "elapsed": 3622,
     "status": "ok",
     "timestamp": 1621130833784,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "u070bqWuXJb4",
    "outputId": "83745698-3699-4bef-b2fc-be0f50abf834",
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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w6lTpzh8+DBlypRxOhyllLKPMbB2rZVMfvWVda59exgwAJo0ATd+10dERFC4cGGKFi1KSEgIQ4cO5c8//6RcuXI2B38zYwyDBw8mV65c8d6xnDBhAl988QVDhgxh+fLlqa5e666tW7cyZ84cBgwYwB133JGiNqZMmUJYWBjDhw/ns88+i/ea5I7RBw4cIF++fFStWpWsWbMCzo3Pxhj27dvHxYsXKV++fIIJpKfH5/RZN1qlTrZs0L8/LFsG+/bZ1k29evUAdF2mUm64cuUK+fLl89rA7BQRIV++fLasf1FKqVSJirLWSN52W5JHnV69kr6uVClo2hR++AGeeQb++guWLrXOufm7fsuWLdSsWROAkJAQAMLCwuz6CSRoyZIlrFmzhvHjx5M/f/7/vF64cGHGjRvHN998w9dff+2VmIwxDBw4kHz58vHSSy+luJ2SJUvy7LPPsmTJElavXh3vNckZoy9evMjJkycpWLDgjQTTSSJCiRIliImJ4ciRI4le58nxWZNMXzVgAAQEwLRptnVRrFgxihYtqusylXJTRk8wY/nK96mUSmeeftoqplO6tDWdNZHjUsmSSV5DgwZWe4cOWcV6krmP7KVLl/jtt99uTE0tV64clStXtrUaanwuXrzIsGHDqF69On379k3wugEDBlC1alWGDh3K5cuXbY9r4cKFbNiwgddee42goKBUtTVixAjKli3L4MGDiYqKivcad8YuYwx///03AQEBFC1aNFUxeVLWrFkpWLAgJ0+e5OLFiwle58nxWafL+qrChaFrV3jvPXj5ZciXz5Zu6tWrp3cylUonzp49y6JFi3jyyeQVEm3dujWLFi1K9SCvlFKO+egja4u3wYOtxyTsWreORo0a2RrS9u3biYmJuWn9Y0hICDNmzPDq1MtXX32Vw4cPs3jxYvz9/RO8LiAggJkzZ9K0aVMmT57MmDFjbIvp3LlzjBw5kjp16tCrV69Ut5clSxamT59O27ZtmTlzJsOGDUtRO7FJXJkyZRL9WSWXJ8bnokWLcvr0af7++28qV65s+we+eifTlz31FFy+bCWaNqlbty5//vknp06dsq0PpZRnnD17ljfffPM/55OqSLd8+XJNMJVS6df27dCnj1WnwqGiOvGJ3R8zdrosWEnmtWvXEpzW6Wn79u1j8uTJdOvWjbvuuivJ65s0acLDDz/Mq6++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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_11\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "conv2d_33 (Conv2D)           (None, 12, 12, 6)         156       \n",
      "_________________________________________________________________\n",
      "re_lu_33 (ReLU)              (None, 12, 12, 6)         0         \n",
      "_________________________________________________________________\n",
      "max_pooling2d_33 (MaxPooling (None, 6, 6, 6)           0         \n",
      "_________________________________________________________________\n",
      "conv2d_34 (Conv2D)           (None, 6, 6, 12)          1812      \n",
      "_________________________________________________________________\n",
      "re_lu_34 (ReLU)              (None, 6, 6, 12)          0         \n",
      "_________________________________________________________________\n",
      "max_pooling2d_34 (MaxPooling (None, 3, 3, 12)          0         \n",
      "_________________________________________________________________\n",
      "conv2d_35 (Conv2D)           (None, 3, 3, 24)          2616      \n",
      "_________________________________________________________________\n",
      "re_lu_35 (ReLU)              (None, 3, 3, 24)          0         \n",
      "_________________________________________________________________\n",
      "max_pooling2d_35 (MaxPooling (None, 1, 1, 24)          0         \n",
      "_________________________________________________________________\n",
      "flatten_11 (Flatten)         (None, 24)                0         \n",
      "_________________________________________________________________\n",
      "dense_11 (Dense)             (None, 4)                 100       \n",
      "=================================================================\n",
      "Total params: 4,684\n",
      "Trainable params: 4,684\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "nepoch = 40; batch_size = 5                             # training parameters\n",
    "\n",
    "tf.random.set_seed(seed) \n",
    "model = CNN_model() \n",
    "history = model.fit(X_train[:,:,:,0].reshape([ntrain,ny,nx,-1]), y_train, \n",
    "                      batch_size=batch_size, epochs=nepoch, verbose=0, \n",
    "                      validation_data=(X_test[:,:,:,0].reshape([ntest,ny,nx,-1]), y_test))\n",
    "    \n",
    "model_performance(history,nepoch)                       # plot loss and accuracy over training Epochs\n",
    "model.summary()                                         # write out the model summary"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ABYnyPTB1Foe"
   },
   "source": [
    "#### Predict with the Trained Convolutional Neural Network\n",
    "\n",
    "Now we load the trained deeper CNN classifier and visualize its prediction performance\n",
    "\n",
    "* we predict over the training and testing image datasets\n",
    "\n",
    "* we predict with the category assigned the maximum probability by our model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 451
    },
    "executionInfo": {
     "elapsed": 693,
     "status": "ok",
     "timestamp": 1621130835277,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "cmo5m_mg1Foe",
    "outputId": "a5ecf913-32d4-4dfc-ad22-b5f93e2da47a"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "            Train   Test\n",
      "precision: 1.0000, 0.9500\n",
      "recall:    1.0000, 0.9500\n",
      "f1 score:  1.0000, 0.9469\n"
     ]
    }
   ],
   "source": [
    "model_cross_validation(model,X_train,X_test,y_train,y_test) # predict and cross validate CNN classifier"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "TCdW3Dpz1Foe"
   },
   "source": [
    "### Interogate the Trained Convolutional Neural Network\n",
    "\n",
    "#### Visualize the Convolution Filters\n",
    "\n",
    "We can access and visualize the convolution weights. The follow code:\n",
    "\n",
    "* loops over the layers and finds the convolution layers\n",
    "\n",
    "* loops over the channels and plots all of the filters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 408
    },
    "executionInfo": {
     "elapsed": 1382,
     "status": "ok",
     "timestamp": 1621130837142,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "CpD7lzFR1Foe",
    "outputId": "a81f62b1-6595-4257-e0b4-5f364cc02e21"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Convolution Layer Name: conv2d_33, Shape: 5 x 5, Number of Channels: 6.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 12 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Convolution Layer Name: conv2d_34, Shape: 5 x 5, Number of Channels: 12.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 24 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Convolution Layer Name: conv2d_35, Shape: 3 x 3, Number of Channels: 24.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 48 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_filters(model)                                # visualize all of the CNN filter weights"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "eaXVG_WK1Fof"
   },
   "source": [
    "These are small 3 x 3 filters, but we can recognize some common structures:\n",
    "\n",
    "* averaging / smoothing\n",
    "\n",
    "* gradient\n",
    "\n",
    "* edge / sharpen (sobel)\n",
    "\n",
    "and combinations of these structures.\n",
    "\n",
    "* it makes sense that averaging, edge and gradient filters would differentiate the random and smooth images.\n",
    "\n",
    "#### Visualize the Convolution Feature Maps\n",
    "\n",
    "Let's visualize the feature maps after each convolution for the classification prediction problem \n",
    "\n",
    "* you can specify the image below from 0 - 99"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 383
    },
    "executionInfo": {
     "elapsed": 814,
     "status": "ok",
     "timestamp": 1621130838486,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "XnLPYab81Fof",
    "outputId": "88ec9c8a-5b15-4a2c-b7f0-2310af83ed4b"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Convolution Layer Name: conv2d_33, Shape: 12 x 12, Number of Channels: 6.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 13 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Convolution Layer Name: conv2d_34, Shape: 6 x 6, Number of Channels: 12.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 25 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Convolution Layer Name: conv2d_35, Shape: 3 x 3, Number of Channels: 24.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 49 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "image = 51                                              # selected prediction case image from 0 - 99\n",
    "visualize_convolution_feature_maps(model, image)        # function to visualize the convolution feature maps"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "These feature maps in each layer demonstrate the extraction of information from the original images:\n",
    "\n",
    "* note the identification of the artifact over each convolution filter.\n",
    "\n",
    "#### Visualize the Max Pooling Feature Maps\n",
    "\n",
    "Let's visualize the feature maps after max pooling operations for our classification prediction problem.\n",
    "\n",
    "* you can specify the image below from 0 - 99"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Max Pooling Layer Name: max_pooling2d_33, Shape: 6 x 6, Number of Channels: 6.\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABS4AAACrCAYAAABokwIeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAWaklEQVR4nO3de5SkZX0n8O9vGC7qICASFVDwHhNcjbrRje6KYlw14mWTY1yTIxo9Z9WoMWY1XtDFS0z26FkxycZ4F8VLMKtn1c0mGveoixc0ho3GOzggBkEBh8swosCzf7xvM0XbPdPd9Nv9TPfnc06fqa636nmfqnq/VT3feuutaq0FAAAAAKAnW9Z7AgAAAAAA8ykuAQAAAIDuKC4BAAAAgO4oLgEAAACA7iguAQAAAIDuKC4BAAAAgO4oLmGDqKrzquph4+mXVNVb13tOsJZkgM1OBtjsZIDNTgbY7GRgY+qyuJzd2HpVVcdWVauqq2Z+Xjaz/HVV9e2qurKqvlFVT17G2MdX1femmTnzjdvbT6rq1vPOP3t8jI9d5fXN33bOq6oXreY6Wmuvaa09fTXHnDPOfefM/Hes0ph3WYXpLXV97xzX+dh5579+PP8pE6zzdlX14aq6cIrt6qaQgeWRgRWv89eq6syq2lFVF1XVW6vq4NVez0rIwPLIwIrX+ZCq+sqYgUur6kNVddRqr2clZGB5ZGBV1v/2tb7NeyIDyyMDK17n8VV1fd24QzhptdezEjKwPDJwk9Z7RFW9t6our6ofVdV79nadLovLfcyhrbVt48+rZs7fmeTEJIckOSnJG6rqV9ZlhizF9iT/ce6XqrpnkptPvM5DW2vbxvW+vKoeMfH6VtO9Zrb7Q9d7MlW13wqu9q0kN7yhUFVbkzwhybmrNa95rk/yt0l+faLxbyoZWB4ZWL5Dkrw6yZFJ7pHkqCSvnWhdKyEDyyMDy/e1JP9+vL+OTPLtJG+caF0rIQPLIwMrVFUPSnLnKdexQjKwPDKwMhfO3G/bWmunTbiu5ZKB5ZGBlflgkouS3CHJzyV53d6u0H1xWVVPqarPjK3vjqr6TlX9ynj+BVX1g9l3KWrYo+PsqrpiXH7KvPGeXFXn1/BO98vqxrsSb6mqF1XVuePyM6rqViuZd2vtv7TWvtFau761dlaS/5vk3yzh9t4iyf9OcuRMe39kVe2ae/ejql5aVddW1S3H319VVaeOpw+pqndV1Q/H23lyVXX/OHfg3ZkJbIay+V2zF9jTtlVVv1lV22cek0fWsEfREXtbcWvtc0m+muS4cRs8eXzsfjA+lofMrOcxVfXVMQufrKp7LDRmVZ1SVaePp+fezTqpqr5bVZdU1UtnLnuzqjptfLfj61X1wlrBHr/jdvo/xm1ve1U9d2bZL1fV58Z5f7+q/ryqDhiXfXq82D+N2/tvjvk+c974N7wDVcO7Q2+sqr+pqp1JHrKn9S/iI0keVFWHjb8/IsmXMzyJzq3zzlX1f8bng0uq6j1VdejM8vOq6sVV9bXx/ntHVR200Mpaaxe31v4iyReXcHeuBxmQgakz8N7W2t+21q5urf0oyVuSPHDv9+yakQEZWIvXgQtnzrouSRd7m41kQAYmzcB4+a1J/izJc/Yyt/UgAzIweQY6JwMyMGkGqurhSW6f5AWttctbaz9trZ291zu2tdbdT5LzkjxsPP2UJNcmeWqS/TLsrfHdJP89yYFJHp7kyiTbxssfn+SeGUrZf5Xk4iSPG5f9QpKrkjwoyQEZmt2fzqzr95J8PsnR49hvSvK+ReZ4bJKW5F+SfC/JO5LcepHL3izJ95M8Yua8Lyd50iKXPz7J9+ad9+kkvz6e/liGBvyRM8seP55+V5L/meTgcY7fSvK09X5Me/6Z296SfDPDXkD7jY/pMeNjfOzetq1x+XuSvDPJ4UkuTPLovWw7W5NUhv+4X53khCS/k+ScJHdKsi3DuxHvHq93twx78v5qkv2TvHC87AEL5OaUJKfPW99bxm3xXkmuSXKPcfmfJPlUksPGbf/L87e/efNvSe4y77wtSb6U5OVjtu6U5DsZ9ixJkvsmecB4m49N8vUkz1tszAy5P3Ox9Y738+XjfbclwzuBi65/gdvwzgzPJW9O8szxvDMyvNN3ZpKnjOfdZby/D0xyRIasnTpv2/nnDE++t0rymSSv3sv2tjUz21UPP5EBGVjDDMxc99Qk71/v7V8GZCBrmIEMexfsyLAX/k/n1rPeP5EBGVi7DLwgyRsWux9lQAY2cgYybD8/Gbeb7Ulen+QW6739y4AMZO0y8PIkf5fk9CSXZtip58F73T7XOyB7Cs3Mg/XtmWX3HB+s28ycd2mSey8y1qlJXj9zJ71vZtnNMzxxzK3r60lOmFl+uwx/VG5dYNxtSe43bnS3SfLXSf5ukTmcluEjorXE23/8/JAkeVWSPx3Xd1GGkvVPkhyUZFeGJ4b9xtvzCzPX+09JPrnej2nPP9n9JH1ykj/O8C7Dx7OXgml22xp/PzRDqf6VJG/aw/qOHcfdkeRH43b33HHZJ5I8a+ayd5/bBpO8LMkZM8u2ZCjOj5+9HePpU/KzT9JHz1z3C0meOJ6+0ZNZkqfP3/7mzb8luWKc/45xu7x/ku/Ou9yLk7xjkTGel+RD88Zc7pP0u2aWLXf978zwJP2gJJ8bH7uLM7yI3fAkvcD1Hpfk7HnbzjNmfn9UknP3sr31XFzKgAxMnoHxcr86PvZ3W+/tXwZkIOuTgVsl+cMkD1jv7V8GZCBrlIEM/6k9J8khC91mGZCBbPwM3DbDzlRbktwxQwG06HYiAzKQjZeBN4+34WkZiucnjvffgjsBzv1szb7h4pnTu5Lh4zbzztuWJFV1/wyF3nEZWuYDk3xgvNyRSS6Yu1Jr7eqqunRmnGOSfKiqrp8577oMxeS/zE6otXZVkn+Ym19VPTvJ96vq4NbalXOXq6rXjnN5SBsfqRX6VJL/luQ+GZ4EPp7kbRka+3Naa5dW1W0yPPjnz1zv/AzHEWPv3p3hxeOOmbdLfLLXbSuttR1V9YEkz8/SjmN469batfPOOzI/+/jNleM3WtZau76qLsjSH9+LZk5fnTEzmZeLeacXc5/W2jlzv1TVEzIc3mDHzGX2y3CIhFTV3TJsv/fL8IbB1gzvBt0Us/M8Zk/rX0xr7czxowsvTfLR1tquqrph+ZipNyT5txn2Yt6S4YV1sXmcn+H+3FfJwEAGRlNkoKoekOS9SX6jtfatPV12HcjAQAZGU70OtNYuq6rTMnwk7KgFtoP1IgMDGRitcgZOTfLK1trle5rTOpOBgQyMVjMDrbWLsvsx2F5VL0zy0Qw7G/VCBgYyMFrl14FdSc5rrb1t/P3940f2H5jhk8ML2rKnG7CPem+SDye5fWvtkCR/mWHX42T4uPbRcxesqptl2FNxzgUZPn596MzPQa21G5WWi5grJW+4T6vqFUkemeThrbUrlnEbFio4P5vhnYbHJ/lUa+1rGT5u9KgMpWaSXJLhnYhjZq53h8wrXVlYa+38DLvsPyrD7ujz7WnbSlXdO8Nu7e/L8I7LSlyYn338rs1Q3t9oWQ3PJrfPTX98b5SLcczluiDJ9nnZObi19qhx+RuTfCPJXVtrt0zykszcdwvYmZkDQVfVbRe4zGxO9rb+PTk9yR9kgRfmJK8Z13PPcd6/vcC8Z++vO2R4nPZJMnADGdhtVTNQVb+UYRv6ndbaJ5YwtzUlAzeQgd2mfB3YmuGg9Ldc4uUnJwM3kIHdVjMDJyR5bQ3HvJsrDz5XVU9awhzXhAzcQAZ2m/J1oKWzTkYGbiADu61mBr6cn+279rqDX1chWSUHJ7mstfbjqvrlJLMvhH+d5MQavtzngAy7Ds/e4X+Z5I+q6pgkqeFr2h+70Eqq6v5VdfcaDhx7eIZQfnLuHcSqevG47oe11i5daIw9uDjJ4TVzANrW2tUZ2vjfze6i8rNJnjH3e2vtugzHJPijqjp4vB3Pz7ARsjRPS/LQ1trOBZYtum2NB589PcOTz1OTHFVVz1rB+t+X5Per6o5VtS3Dk8Rfje9CnZHk16rqhKraP8MTyzUZtoOb4owkL66qw6rqqCTPXsEYX0hyZVX9YQ0HNt6vqo6rqn89Lj84w670V1XVzyd55rzrX5zhGBxz/inJL1bVvcf79pSbuP49+dMMH1v99ALLDs5wXNzLx/vmBQtc5ner6ugavsjrpUn+arEVjbflwPHXA6vPA3fLgAzMWrUMVNVxGQ6b8pzW2keWMK/1IgMyMGs1M/AfZv52PCLDXhdnt9YuW8Ic15IMyMCs1fxb6G4Zjit37/EnSU5M8qElzHEtyYAMzFrN14GHVNUxNbh9hj0XF93LbB3JgAzMWs3XgQ8lOayGL0nar6p+I0Nh/Jk9TW4jFpfPSvLKqroywzEtz5hb0Fr7aoZvsHt/hkb9qiQ/yLChJ8Purx9O8rHx+p/PcJyAhdwpw3/ArsxwINJrMhzEdM5rMjTN59Tubwd/ydzCGr4F67cWGri19o0MYf1ODd84Nbeb7acyfBT8CzO/H5wbb1zPydDMfyfDcQnem+Tti9wG5mmtndta+4dFFi+6bWU4DsgFrbU3ttauyfAuxKur6q7LnMLbs3v3/O1JfpzxWxdba98cx/2zDHvXnpjkxNbaT5a5jvlemeHAy9uT/H2Ggv+aPV5jnrE0f3SGP0K3j/N7a5K58v0/Z3hRuzLDAZHnP5GdkuS0cXt/Qhs+PvrKcT7fzrAt35T17+m6l7XWPtHagodyeEWGwzNcnuR/ZfF3HT+WIXPnZjhOyGJ2ZXjeSYZ323btbX5rTQZkYJ7VzMAfZDig99tmXhe/urf5rTUZkIF5VjMDR2X3345fyfAFPY/f2/zWmgzIwDyrloHW2g9aaxfN/YxnX9Ja6+rvIRmQgXlW83XglzIUbDvHf7+SZG/f+rzmZEAG5lnN14HLkjwmw31xeZIXJXlsa+2SPc2vFp7X5jC29zsy7Kq7fZ2nA12oqmdmOEjxg9d7Lr2rqvOSPL219vfrPRdWjwwsnQxsTDKwdDKwMcnA0snAxiQDSycDG5MMLN1aZGAj7nG5R1V1YlXdvKpukeR1Gd7lOG99ZwXrp6puV1UPrOGja3fPsFdUbx/ZgcnIAJudDLDZyQCbnQyw2clA3/aVbxVfTY/NsNtxZfhW8CcusjssbBYHJHlThm+O25HhUAp/sZ4TgjUmA2x2MsBmJwNsdjLAZicDHdvUHxUHAAAAAPq06T4qDgAAAAD0b1kfFa8qu2eyFJe01o5Y70lMYcoM3OeuB0w1dC674ODJxj78F2852dhf+tI++51ZMrAC97r1QVMNnS0/N92RUerKnZON/Y8X7LMvuxs2A/vXQe3A2jbJ2D9/n33z+fQWdfhkY++rdrZLN2wGpnwduO997zjV0Dn37KsmG3vH9T+cbOx9mAyswJQZuP6ayyYb++rtNdnY39y5Y7KxJyYDK3DIlunusjvffo9fXN2tfzzf/wdW8D+5/VZjvWxo152/3jOY1jQZOOvPbzvJuEnynt9/2GRj//YXHzrZ2Fu3nDTZ2NOSgZX4+OOOnWTcJNn2e7eZbOz9PnHWZGMf+LyfTjb2tDZuBg6sbTnuoMdMMvZnvnjCJOMm0z6fTnV/7MvO2vWODZuBwUR/C33xVZOMmyRPOPTzk439wSveONnY+66N+zow2Pcy8OPvfGCysb/05OmKywd/9iOTjT0tGViJf3fzJ0wybpJ88OS3TDb2lJ9l3v9p1003+KRWLwM+Kg4AAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRn63pPYC1ce/1pS77s1i0nTTgTAAAAAGAp7HEJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdGfrek8AGLQDDpxs7N96+QcmGzt56IRjs5mc/snjJxv7uW9+0GRjX/eJsyYbm83lgK3PnmzsVxzzjMnG/psfXD3Z2LBajr75hPtrXDHd0LBq2rWTDX3d9dP9P4bN5WPXfHiysetpb59s7K1bTppsbOxxCQAAAAB0SHEJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0Z+t6T2AtbN1y0npPAQAAAABYBntcAgAAAADdUVwCAAAAAN1RXAIAAAAA3VFcAgAAAADdUVwCAAAAAN1RXAIAAAAA3VFcAgAAAADdUVwCAAAAAN1RXAIAAAAA3VFcAgAAAADdUVwCAAAAAN3Zut4TAAb/9akPn2zs/atNNvb/e8ZZk43N5vL8c94y2di77jTd+3QfvfhJk42dnDbh2PTmjHs+erKxW7tisrHP33nYZGN/deeVk41Nf153589ONvYh+9tfg/4dtP/zJxv7lgcePdnYt9hy+GRjs7lc89MLJxv75DtM9//WQ2923GRj79j1z5ONva/wCg4AAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdEdxCQAAAAB0R3EJAAAAAHRHcQkAAAAAdKdaa0u/cFVL9ptwOmwM132ptXa/9Z7FFGSApZEBNruNm4FtW27djjvoMes9DTp31q53bNgMeB1gaTbu64AMsDQywGa3ehmwxyUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQHcUlAAAAANAdxSUAAAAA0B3FJQAAAADQnWqtLf3CVT9Mcv5002GDOKa1dsR6T2IKMsASyQCbnQyw2ckAm50MsNnJAJvdqmVgWcUlAAAAAMBa8FFxAAAAAKA7iksAAAAAoDuKSwAAAACgO4pLAAAAAKA7iksAAAAAoDuKSwAAAACgO4pLAAAAAKA7iksAAAAAoDuKSwAAAACgO/8ffoJZurpPeHMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 7 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Max Pooling Layer Name: max_pooling2d_34, Shape: 3 x 3, Number of Channels: 12.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 13 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Max Pooling Layer Name: max_pooling2d_35, Shape: 1 x 1, Number of Channels: 24.\n"
     ]
    },
    {
     "data": {
      "image/png": "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AAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHl75zz/+cnlZ+/ISjgc3GzVC9gFNMQYGup0xBg66nTEGDrqdMQYOtIQ42io0xFj6KjTEWPoqNMRY+io0xFj6EhDjKOhTkeMoaNOR4yho05HjKEjDTGOhjodMYaOOh0xho46HTGGjjTEOBrqdMQYOup0xBg66nTEGDrSEONoqNMRY+io0xFjbFtH1VrbrssCAAAAAAAAAAAAAAAAAAAAAAAAAFiJPateAAAAAAAAAAAAAAAAAAAAAAAAAADAWAYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5BiwCAAAAAAAAAAAAAAAAAAAAAAAAAJNnwCIAAAAAAAAAAAAAAAAAAAAAAAAAMHkGLAIAAAAAAAAAAAAAAAAAAAAAAAAAk2fAIgAAAAAAAAAAAAAAAAAAAAAAAAAweQYsAgAAAAAAAAAAAAAAAAAAAAAAAACTZ8AiAAAAAAAAAAAAAAAAAAAAAAAAADB5/x8PYRKSTUStVgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 25 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "image = 52                                              # selected prediction case image from 0 - 99\n",
    "visualize_max_pooling_feature_maps(model, image)        # function to visualize the max pooling feature maps"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "58f4xmgS6ui8"
   },
   "source": [
    "\n",
    "#### Visualize the Output Layer\n",
    "\n",
    "Let's visualize the output layer which contains the probability to be each categories (e.g., random or smooth)\n",
    "\n",
    "* you can specify the image below from 0 - 99"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 222
    },
    "executionInfo": {
     "elapsed": 456,
     "status": "ok",
     "timestamp": 1621130868139,
     "user": {
      "displayName": "HONGGEUN JO",
      "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GjjMrjKxVvTiBoV4qCmbZQiE5mDJaodEzKxwowf=s64",
      "userId": "13788572619033134064"
     },
     "user_tz": 300
    },
    "id": "H808m7u-6nK-",
    "outputId": "b6310f05-53af-4c99-a8bc-63d7eba1d79d"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1wAAAF6CAYAAAANj1nGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAl1klEQVR4nO3deZhlVXm28fuBBplpxQ5hFBUcUFG0RQxGESdQERzi8KHiBE6f4ues0YDRJJg4BONIxIiiIKIRYpxQcAa0GxBkCoggIEOjtIATAu/3x96lh0rX6WrpVbuq+v5d17nq7Pk9+3TXPs9Za69KVSFJkiRJWv3WGroASZIkSZqvDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuLTGSnJIkqOGrkOSND8l+XiSd/TP/zrJBTN03Eqy/Uwca01xe85pkkuSPHqKZbf5dzG6bpI3J/nomP3ul+Rrf05NmlkGrjXEuP/ss0mSFyW5KMmNSb6SZMuRZUnyziS/6B/vTJJp7nf3JJe3q1ySNBf118ff9tedq/uQtNHqPk5Vfaeq7jmNep6X5Lur+/iTjvG4JN9OckOSZUm+leRJ09x2TnyegJl7b2+Pcf8uquofq+pFAEm260PfgpHln6qqx85UrfrzGbg0ayTZHfhHYB/gTsBPgaNHVjkQ2Be4P7ATsDfw4hmqbcHK15IkzVF7V9VGwAOBxcBbJq8wX64DSZ4GfBb4BLA1sDnwd3TX1Fnrdpz/Nea91exl4FoD9d+efS/Je5MsT3Jxkr/q51+W5Jok+4+s/4QkZyS5vl9+yKT9PTfJpX2r01snNYevleSNSX7SLz82yZ2mKO2JwGer6pyqugl4O/DwJHfvl+8PvLuqLq+qK4B3A8+bxuvdEPgysGX/LdeNIy1n6yb5RP8t3zlJFo9sd0mSNyQ5C/h1kgVJdk3y/f68/agPiRPrb5rkiCRXJrkiyTuSrL2y+iRJs0N/bfkycF/4Yzeylye5ELiwn/fEJGf214HvJ9lpYvskOyc5vb+mfAZYb2TZbXpaJNkmyef7FqZfJHl/knsDHwYe2l+rlvfr3iHJu5L8rG+p+XCS9Uf29br+2vPzJC+Y6vX1vULeA7y9qj5aVb+qqlur6ltVdUC/zt2TnNTXdG2STyVZ2C/7JLAt8F99fa/v54+7Nt51pDXt60k+kJHu/Eme1F9/lyf5Zn8OJpZNvg6/LsnnJr2m9yU5bOwby7Tf2wPS9bL5ZZITRj4rTHh8/5np2iT/kmStlZ2zEQ9Ocm6S65L8R5L1+m2n7IGT29768O3+5/L+3D80k1pDk9wryYl9/RckefrIssf3x7+h/4zy2pWdM60+Bq4110OAs4DNgE8DxwAPBrYHng28P39qdv818FxgIfAE4KVJ9gVIsiPwQWA/YAtgU2CrkeO8gq5V6hHAlsB1wAfG1JUVPL9v//M+wI9Glv+on0dfy1lJ/s/kHVbVr4G9gJ9X1Ub94+f94if1r30hcALw/kmbP6t/zQvpvgX8b+AddC1wrwU+l2RRv+7HgZvpzuHOwGOBF415rZKkWSTJNsDjgTNGZu9Ld83cMcnOwMfoeldsBnwEOKEPROsCXwA+SXeN+Czw1CmOszbwReBSYDu66+YxVXUe8BLglP5atbDf5FDgHsAD6K4xW9G1SpFkT7rr0WOAHYBx3f3uCWwDHDfuNAD/RHfNvne//iEAVfUc4Gf0rUZV9c9JtmL8tfHTwA/683UI8JyR83APup4srwIWAV+iC3PrjtQzeh0+CthzJAAuAJ5J11o31jTe2z361/10us8zl9J9Phj1ZLpWsgfS9caZCLdTnrMR+wGPA+5O917+r5a2lXh4/3Nhf+5PmfT6NgROpDvff0F3Xj7Yf04DOAJ4cVVtTPe56qRVPL5uj6rysQY8gEuAR/fPnwdcOLLsfkABm4/M+wXwgCn29a/Ae/vnfwccPbJsA+CmkWOdBzxqZPkWwB+ABSvY76OBa+m6C65PdyG7FXhWv/wW4F4j6+/Q151pvP7dgcsnzTsE+PrI9I7AbyedsxeMTL8B+OSkfXyVruVtc+D3wPojy54FnDz0e+/Dhw8fPqZ+9L/rbwSW033I/uDE7/L+GrPHyLofomsdGt3+ArovFR8O/Hz0mgR8H3hH//yP1yHgocCyKa6FzwO+OzIdui8+7z4y76HAT/vnHwMOHVl2j77u7Vew7936ZeutwvnZFzhj0vl69Mj0uGvjtnRfRG4wsuwo4Kj++VuBY0eWrQVcAew+cqwXTNr3l4ED+udPBM5dTe/tEcA/j0xvRPd5ZbuR9fccWf4y4BurcM5eMjL9eOAnk/9dTD6/dJ9TJs7Vdn0NC0bW/eO/FeAZwHcm1fER4OD++c/ovijYZOj/c2viwz6ra66rR57/FqCqJs/bCCDJQ+i+XbsvsC5wB7pv7qD7NueyiY2q6jdJfjGyn7sA/5nk1pF5t9AFlCtGC6qqryc5GPgcsAldsLsBmGhqv7GfP2ET4Mbqf5P8ma4aef4bYL0kC6rq5n7eZSPL7wL8TZLRfu7rACf3y9YBrsyfxvFYa9L2kqTZad+q+voUyyZfB/ZP8oqReevSXQsLuGLSNenSKfa5DXDpyLVmnEV0X2YuHbm+BJjosr4lsHQax4Tuy1Tovvz86YpWSLI5cBjw18DGdNey68bsc9y1cUvgl1X1m5Fll9G9/ona/1hvVd2a5DJu21Nm8nX0SOClwL/T9cj55JjaYPrv7ZbA6SO13Nh/ntmKLgRNXv/SfpvpnrMVbrsa3QV4yEQ31N4C/nR+nkrXqnZo30XzjTWplUzt2KVQ0/Fpuu5221TVpnT9yyd+619Jd9MtAH2f8s1Gtr0M2KuqFo481quuL/X/UlUfqKodqmpzuuC1APhxv/gcugEzJty/nzcdf24oG93uMrpv8UZfy4ZVdWi/7PfAnUeWbVJV91nhXiVJc8Xk68A/TLoObFBVR9NdD7dKbjN67rZT7PMyYNuseLCGydera+m+BL3PyDE3rW4gCPrjbjOy/lTHhK417jKm6OrY+8e+hvtV1SZ0oWb0NU2ub9y18UrgTkk2GFl/tNaf0wUF4I/3mG3Dbb+QnXy8LwA7JbkvXQvXp8a8lpUZ3ffkWjak+zwzWsvk8zxxe8LKztm4bf+cWlfkMuBbk96HjarqpQBV9cOq2oeuu+EXgGNX8fi6HQxcmo6N6b6h+l2SXYDR+6SOA/ZON+jGunTN36O/ZD4M/EOSuwAkWZRknxUdJMl6Se6bzrbA4cBhVTXxLdEngFcn2aq/kfU1dPdNTcfVwGZJNp3m+ityFN1rfVyStft6d0+ydVVdCXwNeHeSTdINFnL3JI+4HceTJM0u/w68JMlD+mvVhukGltoYOIWu+9wrk6yT5CnALlPs5wd0YeTQfh/rJdmtX3Y1sPXEfUxVdWt/3Pcm+QuA/jr4uH79Y4HnJdmxDzYHT1V83/r2auCtSZ4/cr16WJLD+9U2putR8qv+/qzXTdrN1cDdRqbHXRsvBZYAhyRZN8lDue1oiMcCT0jyqCTr0F3Xf0/XFXOq1/A7us8enwZ+UFU/m2rdVXQ08PwkD0hyB7oQdVpVXTKyzuuS3LG/H+wg4DP9/JWdM4CXJ9k63cBhfzuy7XQto7vN4m5TLP8icI8kz+n//a2T5MFJ7t2f+/2SbFpVfwCu7/elGWLg0nS8DPj7JDfQ3bP1x29FquocuoExjqG7eNwIXEP3CxO6JvYTgK/1259Kd4PqiqxH9wv0RrqL0Sl0/bsnfAT4L+Bsulav/+7nAZBulKP9VrTjqjqf7pfpxelGQlrlpvyquozuJtk30/3iu4zul+rE/6Pn0nUtOZeuK8FxdN02JEnzQFUtAQ6gG2DpOuAi+tFyqxtd9yn99C/p7qn5/BT7uYUueGxPd2/N5f360A1mcA5wVZJr+3lv6I91apLrga/TDYBBVX2Zrgv+Sf06YwdDqKrj+mO9gK6V5Wq6AS+O71d5G92gEL+iu85Ofg3/BLylv5a+dhrXxv3o7jn7RX+cz9B/RqiqC+hag/6NriVvb7oBOW4a9xrouhXej5V3J5y2vtvhW+l611xJN7jFMyetdjxd980z6c7NEf38lZ0z6D7ffA24GPgJ3blYlfp+A/wD8L3+3O86afkNdIN1PZPufb0KeCfdbSDQDVZySf/v5yV074tmSG7f7S/SbaUb2XA5sENVrbB/uCRJWjOlGy7//KqasiVuGvvYFjgf+Muqun61FSc1YguXbrckeyfZoO/v/C66FqhLhq1KkiQNre/Wdve+6+KedK1hX7gd+1uLrlvkMYYtzRWOUqjVYR+6Zv3Q9dV+5u0cOVCSJM0Pf0nXxW4zuq6TL62qM8ZvsmL9F7tX043yt+dqq1BqzC6FkiRJktSIXQolSZIkqREDlyRJkiQ1skr3cCWx/6GkNcm1VbVo6CKkCXe+851ru+22G7oMSdIkS5cunfIzw58xaMbat7ceSZojbrl06AqkUdtttx1LliwZugxJ0iRJpvzMYJdCSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEQOXJEmSJDVi4JIkSZKkRhYMXYAkSZK0Imefeio3LV8+dBmzyroLF3K/XXcdugytAgOXJEmSZqWbli/nQYsWDV3GrLJ02bKhS9AqskuhJEmSJDVi4JIkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSGkvy/5Kck+THSY5Osl6SuyY5LclFST6TZN2h65QkrX4GLkmSGkqyFfBKYHFV3RdYG3gm8E7gvVW1PXAd8MLhqpQktWLgkiSpvQXA+kkWABsAVwJ7AMf1y48E9h2mNElSSwYuSZIaqqorgHcBP6MLWr8ClgLLq+rmfrXLga2GqVCS1JKBS5KkhpLcEdgHuCuwJbAhsOcqbH9gkiVJlixbtqxRlZKkVgxckiS19Wjgp1W1rKr+AHwe2A1Y2HcxBNgauGJFG1fV4VW1uKoWL1q0aGYqliStNgYuSZLa+hmwa5INkgR4FHAucDLwtH6d/YHjB6pPktSQgUuSpIaq6jS6wTFOB86mu/YeDrwBeHWSi4DNgCMGK1KS1MyCla8iSZJuj6o6GDh40uyLgV0GKEeSNINs4ZIkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEQOXJEmSJDVi4JIkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEQOXJEmSJDVi4JIkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIaS7IwyXFJzk9yXpKHJrlTkhOTXNj/vOPQdUqSVj8DlyRJ7R0GfKWq7gXcHzgPeCPwjaraAfhGPy1JmmcMXJIkNZRkU+DhwBEAVXVTVS0H9gGO7Fc7Eth3iPokSW0ZuCRJauuuwDLgP5KckeSjSTYENq+qK/t1rgI2H6xCSVIzBi5JktpaADwQ+FBV7Qz8mkndB6uqgFrRxkkOTLIkyZJly5Y1L1aStHoZuCRJauty4PKqOq2fPo4ugF2dZAuA/uc1K9q4qg6vqsVVtXjRokUzUrAkafUxcEmS1FBVXQVcluSe/axHAecCJwD79/P2B44foDxJUmMLhi5AkqQ1wCuATyVZF7gYeD7dl57HJnkhcCnw9AHrkyQ1YuCSJKmxqjoTWLyCRY+a4VIkSTPMLoWSJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEYeFlyRpGpIsBv4a2BL4LfBj4MSqum7QwiRJs5otXJIkjZHk+UlOB94ErA9cAFwDPAz4epIjk2w7ZI2SpNnLFi5JksbbANitqn67ooVJHgDsAPxsJouSJM0NBi5Jksaoqg+sZPmZM1SKJGkOskuhJEmrIMneSb6Z5NQkLxu6HknS7GbgkiRpjL7L4KjnAI8E/gp46YwXJEmaU+xSKEnSeC9Nshbw1qq6CrgMeAtwK/DzQSuTJM16Bi5JksaoqhcnuT/wkSRLgb8DHko3mMa7Bi1OkjTr2aVQkqSVqKofVdU+wBnA8cCWVXVCVf1+4NIkSbOcgUuSpDGSvCTJ95N8H9gQ2BNYmOSrSR4+cHmSpFnOLoUz5OZbj5yxYy1Ya/8ZO5YkrQFeVlU7JbkD8P2qOgZ4X5JPAm8Fvj1seZKk2czAJUnSeFckeTPdPVvnT8ysquuAVw9WlSRpTrBLoSRJ4+0DnA18F3ju5IVJ1pnxiiRJc4YtXJIkjVFVNwH/NTovyV2AvfrHFsAuA5QmSZoDDFySJK1Ef//WI4DHAw+j+1tcXwUOqqpLBixNkjTLGbgkSRojyZeAzYBvAicAr6uqPwxalCRpzjBwSZI03gFVdcXQRUiS5iYHzZAkabwPJ3niigbHSHK3JH+f5AVDFCZJmv1s4ZIkabwD6IZ/PyzJL4FlwHrAdsBPgPdX1fHDlSdJms0MXJIkjVFVVwGvB16fZDu6UQl/C/xPVf1myNokSbOfgUuSpGnqRyS8ZOAyJElziPdwSZIkSVIjBi5JkiRJasTAJUnSNCTZO4nXTUnSKvHCIUnS9DwDuDDJPye519DFSJLmBgOXJEnTUFXPBnamGwr+40lOSXJgko0HLk2SNIsZuCRJmqaquh44DjiGbnj4JwOnJ3nFoIVJkmYtA5ckSdOQZJ8k/wl8E1gH2KWq9gLuD7xmyNokSbOXf4dLkqTpeQrw3qr69ujMqvpNkhcOVJMkaZazhUuSpOm5anLYSvJOgKr6xjAlSZJmOwOXJEnT85gVzNtrxquQJM0pdimUJGmMJC8FXgbcPclZI4s2Br43TFWSpLnCwCVJ0nifBr4M/BPwxpH5N1TVL4cpSZI0Vxi4JEkar6rqkiQvn7wgyZ0MXZKkcQxckiSN92ngicBSoICMLCvgbkMUJUmaGwxckiSNUVVP7H/edehaJElzj4FLkqQxkjxw3PKqOn2mapEkzT0GLkmSxnv3mGUF7DFThUiS5h4DlyRJY1TVI4euQZI0dxm4JEkaI8keVXVSkqesaHlVfX6ma5IkzR0GLkmSxnsEcBKw9wqWFWDgkiRNycAlSdIYVXVw//P5Q9ciSZp71hq6AEmS5oIkmyV5X5LTkyxNcliSzYauS5I0uxm4JEmanmOAZcBTgaf1zz8zaEWSpFnPLoWSJE3PFlX19pHpdyR5xmDVSJLmBFu4JEmanq8leWaStfrH04GvDl2UJGl2s4VLkqQxktxANxphgFcBR/WL1gJuBF47TGWSpLnAwCVJ0hhVtfHQNUiS5i4DlyRJ05TkjsAOwHoT86rq28NVJEma7QxckiRNQ5IXAQcBWwNnArsCpwB7DFiWJGmWc9AMSZKm5yDgwcClVfVIYGdg+aAVSZJmPQOXJEnT87uq+h1AkjtU1fnAPQeuSZI0y9mlUJKk6bk8yULgC8CJSa4DLh20IknSrGfgkiRpGqrqyf3TQ5KcDGwKfGXAkiRJc4BdCiVJmqYkD0zySmAn4PKqumkVtl07yRlJvthP3zXJaUkuSvKZJOu2qluSNBwDlyRJ05Dk74Ajgc2AOwP/keQtq7CLg4DzRqbfCby3qrYHrgNeuLpqlSTNHgYuSZKmZz/gwVV1cFUdTDcs/HOms2GSrYEnAB/tp0M3nPxx/SpHAvuu7oIlScMzcEmSND0/Z+QPHgN3AK6Y5rb/CrweuLWf3gxYXlU399OXA1utaMMkByZZkmTJsmXLVrloSdKwHDRDkqQxkvwbUMCvgHOSnNhPPwb4wTS2fyJwTVUtTbL7qh6/qg4HDgdYvHhxrer2kqRhGbgkSRpvSf9zKfCfI/O/Oc3tdwOelOTxdC1kmwCHAQuTLOhbubZm+q1lkqQ5xMAlSdIYVXXkxPN+JMF79JMXVNUfprH9m4A39dvvDry2qvZL8lngacAxwP7A8au3cknSbOA9XJIkTUMfli4EPgB8EPifJA+/Hbt8A/DqJBfR3dN1xO2tUZI0+9jCJUnS9LwbeGxVXQCQ5B7A0cCDpruDqvomfVfEqroY2GW1VylJmlVs4ZIkaXrWmQhbAFX1P8A6A9YjSZoDbOGSJGl6lib5KHBUP70ffxpQQ5KkFTJwSZI0PS8BXg68sp/+Dt29XJIkTcnAJUnSSiRZG/hRVd0LeM/Q9UiS5g7v4ZIkaSWq6hbggiTbDl2LJGlusYVLkqTpuSNwTpIfAL+emFlVTxquJEnSbGfgkiRpet46dAGSpLnHwCVJ0hhJ1qMbMGN74GzgiKq6ediqJElzhfdwSZI03pHAYrqwtRfdH0CWJGlabOGSJGm8HavqfgBJjgB+MHA9kqQ5xBYuSZLG+8PEE7sSSpJWlS1ckiSNd/8k1/fPA6zfTweoqtpkuNIkSbOdgUuSpDGqau2ha5AkzV12KZQkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWpkwdAFrCkWrLX/0CVIkiRJmmG2cEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEQOXJEmSJDVi4JIkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJktRQkm2SnJzk3CTnJDmon3+nJCcmubD/eceha5UkrX4GLkmS2roZeE1V7QjsCrw8yY7AG4FvVNUOwDf6aUnSPGPgkiSpoaq6sqpO75/fAJwHbAXsAxzZr3YksO8gBUqSmjJwSZI0Q5JsB+wMnAZsXlVX9ouuAjYfqi5JUjsGLkmSZkCSjYDPAa+qqutHl1VVATXFdgcmWZJkybJly2agUknS6mTgkiSpsSTr0IWtT1XV5/vZVyfZol++BXDNiratqsOranFVLV60aNHMFCxJWm0MXJIkNZQkwBHAeVX1npFFJwD798/3B46f6dokSe0tGLoASZLmud2A5wBnJzmzn/dm4FDg2CQvBC4Fnj5MeZKklgxckiQ1VFXfBTLF4kfNZC2SpJlnl0JJkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEQOXJEmSJDVi4JIkSZKkRgxckiRJktTIgqELkCRJkjRzzj71VG5avnzoMmaVdRcu5H677tpk3wYuSZIkaQ1y0/LlPGjRoqHLmFWWLlvWbN92KZQkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmSJKkRA5ckSZIkNWLgkiRJkqRGDFySJEmS1IiBS5IkSZIaMXBJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEQOXJEmSJDVi4JIkSZKkRgxckiRJktSIgUuSJEmSGjFwSZIkSVIjBi5JkiRJasTAJUmSJEmNGLgkSZIkqREDlyRJkiQ1YuCSJEmSpEYMXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIGkmTPJBckuSjJG4euR5K0+hm4JEkaQJK1gQ8AewE7As9KsuOwVUmSVjcDlyRJw9gFuKiqLq6qm4BjgH0GrkmStJoZuCRJGsZWwGUj05f38yRJ88iCVVz/Wrjl0iaVSNLsc5ehC5CSHAgc2E/emOSCIetZje4MXDt0EfOQ57UNz2sb8+m8TvmZYZUCV1Utuv21SJIk4Apgm5Hprft5t1FVhwOHz1RRMyXJkqpaPHQd843ntQ3Paxtrynm1S6EkScP4IbBDkrsmWRd4JnDCwDVJklazVe1SKEmSVoOqujnJ/wW+CqwNfKyqzhm4LEnSambgkiRpIFX1JeBLQ9cxkHnXTXKW8Ly24XltY404r6mqoWuQJEmSpHnJe7gkSZIkqREDlyRJmjFJPpbkmiQ/HrqW+STJNklOTnJuknOSHDR0TfNBkvWS/CDJj/rz+raha5pPkqyd5IwkXxy6lpYMXJIkaSZ9HNhz6CLmoZuB11TVjsCuwMuT7DhwTfPB74E9qur+wAOAPZPsOmxJ88pBwHlDF9GagUuSJM2Yqvo28Muh65hvqurKqjq9f34D3YfYrYatau6rzo395Dr9wwEQVoMkWwNPAD46dC2tGbgkSZLmkSTbATsDpw1cyrzQd3s7E7gGOLGqPK+rx78CrwduHbiO5gxckiRJ80SSjYDPAa+qquuHrmc+qKpbquoBwNbALknuO3BJc16SJwLXVNXSoWuZCQYuSZKkeSDJOnRh61NV9fmh65lvqmo5cDLeg7g67AY8KcklwDHAHkmOGrakdgxckiRJc1ySAEcA51XVe4auZ75IsijJwv75+sBjgPMHLWoeqKo3VdXWVbUd8EzgpKp69sBlNWPgkiRJMybJ0cApwD2TXJ7khUPXNE/sBjyHrqXgzP7x+KGLmge2AE5OchbwQ7p7uOb1EOZa/VLlQCuSJEmS1IItXJIkSZLUiIFLkiRJkhoxcEmSJElSIwYuSZIkSWrEwCVJkiRJjRi4JEmS5okkNw5dA3R/hDnJoUkuTHJ6klOS7LWSbV6VZIMZqG1xkve1Po40wWHhJUmS5okkN1bVRrOgjkPp/obVgVX1+ySbA4+oqmPHbHMJsLiqrm1Y14KqurnV/qUVsYVLkiRpnkmye5JvJTk+ycV9a9N+SX6Q5Owkd+/X2zvJaUnOSPL1PhiRZFGSE5Ock+SjSS5Ncud+2bP7/ZyZ5CNJ1p507A2AA4BXVNXvAarq6omwleRDSZb0+35bP++VwJZ0f2T45H7eY/uWsdOTfDbJRv38xyc5P8nSJO9L8sV+/p2SfCHJWUlOTbJTP/+QJJ9M8j3gk/25mdhmwyQf61/PGUn26effZ+Q1npVkh4Zvl+Y5A5ckSdL8dH/gJcC9gecA96iqXYCPAq/o1/kusGtV7QwcA7y+n38wcFJV3Qc4DtgWIMm9gWcAu1XVA4BbgP0mHXd74GdVdf0Udf1tVS0GdgIekWSnqnof8HPgkVX1yD7cvQV4dFU9EFgCvDrJesBHgL2q6kHAopH9vg04o6p2At4MfGJk2Y79vp41uZb+de4CPBL4lyQb9uftsP41LgYun+K1SCu1YOgCJEmS1MQPq+pKgCQ/Ab7Wzz+bLlwAbA18JskWwLrAT/v5DwOeDFBVX0lyXT//UcCDgB8mAVgfuGYV63p6kgPpPoduQReGzpq0zq79/O/1x1kXOAW4F3BxVU3UeTRw4EjNT+1rPinJZkk26ZedUFW/XUEtjwWelOS1/fR6dOHyFOBvk2wNfL6qLlzF1yj9kYFLkiRpfvr9yPNbR6Zv5U+fAf8NeE9VnZBkd+CQlewzwJFV9aYx61wEbJtkk8mtXEnuCrwWeHBVXZfk43QhZ0XHOXFyi1SSB6ykvqn8eor5AZ5aVRdMmn9ektOAJwBfSvLiqjrpzzy21nB2KZQkSVpzbQpc0T/ff2T+94CnQ3cvFXDHfv43gKcl+Yt+2Z2S3GV0h1X1G+AI4LAk6/brLUryN8AmdOHnV/39YqMjF94AbNw/PxXYLcn2/fYbJrkHcAFwtyTb9es9Y2T779B3b+zD47VjujVO+CrwivTNaEl27n/eja4l7X3A8XTdH6U/i4FLkiRpzXUI8NkkS4HR0QHfBjw2yY+BvwGuAm6oqnPp7q36WpKzgBPpugVO9hZgGXBuv48vAtdX1Y+AM4DzgU/TBbsJhwNfSXJyVS0Dngcc3R/nFOBefbfAl/XrLaULab8aeS0P6tc/lNsGyKm8HVgHOCvJOf00dGHzx0nOBO7Lbe8Hk1aJw8JLkiTpNpLcAbilqm5O8lDgQ/0AEoNLslFV3di3Sn0AuLCq3jt0XdJUvIdLkiRJk20LHJtkLeAmumHeZ4sDkuxPN5DGGXSjFkqzli1ckiRJktSI93BJkiRJUiMGLkmSJElqxMAlSZIkSY0YuCRJkiSpEQOXJEmSJDVi4JIkSZKkRv4/YeQiaVHI+ZwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "image = 90                                              # selected prediction case image from 0 - 99\n",
    "visualize_last_layers(model, image)                     # function to visualize the output layer"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "a1Mas1bP1Fof"
   },
   "source": [
    "#### Other Convolutional Neural Network Architecture Examples\n",
    "\n",
    "Some other examples of layers that could be added to the above CNN\n",
    "\n",
    "1. More dense layers, ANN feed forward\n",
    "\n",
    "```python\n",
    "    model.add(layers.Dense(512))\n",
    "    model.add(layers.BatchNormalization(momentum=0.8))\n",
    "    model.add(layers.ReLU())\n",
    "    model.add(layers.Dropout(0.25))\n",
    "```\n",
    "\n",
    "2. Max pooling 2D layers\n",
    "\n",
    "```python\n",
    "    model.add(layers.MaxPooling2D((2, 2)))\n",
    "```\n",
    "\n",
    "#### Visualize the Testing Images and Predicted Classification Probabilities\n",
    "\n",
    "Let's look at all the testing images and the predicted classification probabilities from our our trained CNN.\n",
    "\n",
    "* we report the true label, and then the greatest category probability, > 50% (argmax), and the associated category from our CNN \n",
    "\n",
    "* for example, 'random, 64% random' indicates a true label of random (first random) and the random (second random) category got the largest predicted probability and that probability was 64%. Given an argmax assignment, this is a correct prediction."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 20 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "visualize_testing_predictions(model)                    # visualize testing images and probability for correct category"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Summarize the Performance of our Image Classification CNN\n",
    "\n",
    "Let's summarize the performance of our CNN over all training and testing images \n",
    "\n",
    "* we use boxplots to report the training and testing images prediction probabilities \n",
    "\n",
    "* we show the predicted probability of artifact image\n",
    "\n",
    "* an accurate model has all low probabilities for random images and all high probabilities for artifact images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "prediction_boxplot(model)                                  # visualize the prediction probability box plots by correct category"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "juCdblHCXJb_"
   },
   "source": [
    "#### Comments\n",
    "\n",
    "This was a very simple convolutional neural network workflow to support experiential learning with fast experientation.  \n",
    "\n",
    "The Texas Center for Data Analytics and Geostatistics has many other demonstrations on the basics of working with DataFrames, ndarrays, univariate statistics, plotting data, declustering, data transformations, trend modeling and many other workflows available [here](https://github.com/GeostatsGuy/PythonNumericalDemos), along with a package for geostatistics in Python called [GeostatsPy](https://github.com/GeostatsGuy/GeostatsPy). \n",
    "  \n",
    "We hope this was helpful,\n",
    "\n",
    "*Michael* and *Honggeun*\n",
    "\n",
    "***\n",
    "\n",
    "#### More on Michael Pyrcz and the Texas Center for Data Analytics and Geostatistics:\n",
    "\n",
    "### Michael Pyrcz, Associate Professor, University of Texas at Austin \n",
    "*Novel Data Analytics, Geostatistics and Machine Learning Subsurface Solutions*\n",
    "\n",
    "With over 17 years of experience in subsurface consulting, research and development, Michael has returned to academia driven by his passion for teaching and enthusiasm for enhancing engineers' and geoscientists' impact in subsurface resource development. \n",
    "\n",
    "For more about Michael check out these links:\n",
    "\n",
    "#### [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1)\n",
    "\n",
    "#### Want to Work Together?\n",
    "\n",
    "I hope this content is helpful to those that want to learn more about subsurface modeling, data analytics and machine learning. Students and working professionals are welcome to participate.\n",
    "\n",
    "* Want to invite me to visit your company for training, mentoring, project review, workflow design and / or consulting? I'd be happy to drop by and work with you! \n",
    "\n",
    "* Interested in partnering, supporting my graduate student research or my Subsurface Data Analytics and Machine Learning consortium (co-PIs including Profs. Foster, Torres-Verdin and van Oort)? My research combines data analytics, stochastic modeling and machine learning theory with practice to develop novel methods and workflows to add value. We are solving challenging subsurface problems!\n",
    "\n",
    "* I can be reached at mpyrcz@austin.utexas.edu.\n",
    "\n",
    "I'm always happy to discuss,\n",
    "\n",
    "*Michael*\n",
    "\n",
    "Michael Pyrcz, Ph.D., P.Eng. Associate Professor The Hildebrand Department of Petroleum and Geosystems Engineering, Bureau of Economic Geology, The Jackson School of Geosciences, The University of Texas at Austin\n",
    "\n",
    "#### More Resources Available at: [Twitter](https://twitter.com/geostatsguy) | [GitHub](https://github.com/GeostatsGuy) | [Website](http://michaelpyrcz.com) | [GoogleScholar](https://scholar.google.com/citations?user=QVZ20eQAAAAJ&hl=en&oi=ao) | [Book](https://www.amazon.com/Geostatistical-Reservoir-Modeling-Michael-Pyrcz/dp/0199731446) | [YouTube](https://www.youtube.com/channel/UCLqEr-xV-ceHdXXXrTId5ig)  | [LinkedIn](https://www.linkedin.com/in/michael-pyrcz-61a648a1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "colab": {
   "collapsed_sections": [],
   "name": "SubsurfaceDataAnalytics_ConvolutionalNeuralNetworks_Classfier_VerySimple_HJ_review.ipynb",
   "provenance": [],
   "toc_visible": true
  },
  "kernelspec": {
   "display_name": "tf-gpu-env",
   "language": "python",
   "name": "tf-gpu-env"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
